1. Field of the Invention
The present invention relates to communication processing systems, communication processing methods, communication terminals, data transfer controllers, and programs. More specifically, the present invention relates to a communication processing system, communication processing method, communication terminal, data transfer controller, and program which provide improved address setting and communication processing for a mobile communication device.
2. Description of the Related Art
In recent years, portable personal computers, portable telephones, and the like have become widely used, and many users carry compact devices having such communication features and information processing features and connect them to networks to perform communication over the networks while outdoors or while away from home.
In such so-called mobile computing environments, nodes which serve as devices (e.g., personal computers) for receiving services through the connection to the networks are configured on the premise that the nodes move. Such nodes need to maintain their state in which they can continuously perform communication even when the locations thereof vary.
The Internet uses IP (Internet protocol) as the communication protocol. The IP currently in widespread use is IPv4 (Internet protocol version 4) which employs IP addresses of 32 bits as the source/destination. Internet communication adopts global IP addresses, so that a unique 32-bit IP address is assigned to each source/destination, and an individual source/destination is determined in accordance with an IP address. The world of the Internet, however, has been expanding so rapidly that there is a problem of limited space for IPv4 addresses, that is, global addresses can be exhausted. To solve this problem, the IETF (Internet Engineering Task Force) has proposed a new IPv6 protocol (Internet protocol version 6), which expands the IP address space from 32 bits to 128 bits, as next generation IP addresses.
Other communication methods for nodes in a mobile computing environment include mobile IPv6 proposed by the IETF (Internet Engineering Task Force) and LIN6 (location independent networking for IPv6) proposed by the applicant of the present invention.
In mobile IPv6, each node has two IP addresses, that is, a home address and a care-of-address. The care-of-address varies depending on a connected sub-network as the node moves, while the home address remains the same regardless of the movement of the node. A correspondent node can communicate with the mobile node by designating the home address of the mobile node, regardless of the location of the mobile node, that is, the location of the connected sub-network.
A home agent executes processing that allows communication with the mobile node in mobile IPv6. The home agent is a node that is connected to a sub-network associated with the home address of the node. When a communication node has moved, the home agent receives a binding update packet including a new care-of-address from the node that has moved and updates a binding cache storing the association of the home-address (constant) and the care-of-address (variable). Furthermore, the home agent announces routing information corresponding to the home address of the mobile node to the network.
FIG. 1 is a view illustrating a procedure for registering a care-of-address. When a terminal device 301, which is a node, has moved, the terminal device 301 obtains a care-of-address from the sub-network covering the location into which the terminal device 301 has moved. The terminal device (mobile node) 301 generates a binding update packet including a home address, care-of-address, and authentication data for the terminal device 301, and transmits the packet to a home agent 302.
FIG. 2 is a view illustrating the format of the IPv6 header of an IPv6 packet. As shown in FIG. 2, the IPv6 header includes a 4-bit protocol version, an 8-bit traffic class for recognizing and differentiating priorities, a 20-bit flow label with which a router, which is a communication device, identifies a packet requesting for execution of a special operation. The IPv6 header further includes a source address, which is an address of the node that transmits a packet, a destination address, which is an address that receives the packet, and an optional header extension.
FIG. 3 is a view illustrating the format of the IPv6 address. The upper 64 bits of the IPv6 address is routing information, and the lower 64 bits thereof is an interface identifier for identifying a network interface of the node in the sub-network to which the node is connected. The interface identifier is unique in the sub-network, and a MAC address or the like is used as the interface identifier.
FIG. 4 is a view illustrating a binding update packet of the related art, that is, a packet for transmitting node movement information to the home agent from the mobile node. The source address of the IPv6 header contains the care-of-address of the terminal device 301, and the destination address thereof contains the address of the home agent 302.
The header extension stores the home address of the terminal device 301 as the destination header, data indicating that the packet requests update processing, and an authentication header.
FIG. 5 is a view illustrating the authentication header. The authentication header includes an SPI (security parameters index), a sequence number, and authentication data. The home agent 302 determines an SA (security association) based on the address of the destination and the SPI of the authentication header, as shown in FIG. 6, to determine a key for authentication, an encryption method, or the like.
Upon receipt of the binding update packet, the home agent 302 check whether the authentication data is valid or not, and if it determines that the data is valid, it registers the care-of-address, included in the received binding update packet, in the binding cache within the home agent 302. The home agent 302 updates the binding cache therein and transmits a response packet to the terminal device 301.
Next, a procedure in which a terminal device 303 of the related art transmits a packet to the mobile terminal device 301 will be described with reference to FIG. 7. The terminal device 303 transmits an inquiry to a domain name server 304 about the home address of the terminal device 301 by indicating the host name of the terminal device 301. As shown in FIG. 8, since the domain name server 304 stores the association of the host name and the home address, it retrieves the home address of the terminal device 301 based on the host name and transmits a response to the terminal device 303. The terminal device 303 generates a packet, as shown in FIG. 9, containing the home address of the terminal device 301 as the destination address and transmits the packet.
The packet transmitted by the terminal device 303 arrives at the home agent 302 in accordance with routing information announced by the home agent 302 to the network. As shown in FIG. 10, the home agent 302 further adds (encapsulates) an IPv6 header, containing the care-of-address of the terminal device 301 as the destination address, to the received packet. This packet arrives at the terminal device 301 in accordance with standard routing. The terminal device 301 removes the IPv6 header added by the home agent 302 from the received packet to obtain the original packet.
The terminal device 301 generates a binding update packet that includes an authentication header and the care-of-address of the terminal device 301, and transmits the binding update packet to the terminal device 303 to notify the care-of-address of the terminal device 301. Upon receipt of the binding update packet, the terminal device 303 checks the authentication data, and if it determines that the data is valid, it registers the care-of-address of the terminal device 301 in the binding cache. After the registration, the terminal device 303 transmits an acknowledgement response packet to the terminal device 301.
As shown in FIG. 11, the packet transmitted from the terminal 301 to the terminal device 303 contains the care-of-address of the terminal device 301 as the source address, and the home address is stored in a destination options header. This packet goes through the optimal route and arrives at the terminal device 303.
After receiving the binding update packet, as shown in FIG. 12, the terminal device 303 adds a routing header to the packet to be transmitted to the terminal device 301, and the resulting packet arrives at the terminal device 301 by way of an optimal route.
At this point, when the terminal device 301 moves, the terminal device 301 transmits a new care-of-address to the terminal device 303 and the home agent 302. The terminal device 303, after receiving the new care-of-address, holds the association of the home address and the care-of-address of the terminal device 301 as a binding cache in the same manner as the home agent 302. The terminal device 301 periodically transmits binding update packets to the home agent 302 and the terminal device 303 so that the terminal device 303 can execute update processing of the binding cache.
The operation when the terminal device has moved will now be described with reference to FIG. 13. The terminal device 301 obtains the care-of-address from the sub-network covering the location into which the terminal device 301 has moved. The terminal device 301 generates a binding update packet, shown in FIG. 14, including the home address and the like of the terminal device 301 and transmits the binding update packet to the terminal device 303. Upon receipt of the binding update packet, the terminal device 303 determines whether authentication data stored in the binding update packet is valid or not, and if it determines that the data is valid, then it registers the care-of-address of the terminal device 301 which is stored in the binding update packet into the binding cache. After the registration, the terminal device 303 transmits an acknowledgement response packet to the terminal device 301.
The terminal device 301 generates a binding update packet including the home address and the like of the terminal device 301, as shown in FIG. 15, and transmits the binding update packet to the home agent 302. Upon receipt of the binding update packet, the home agent 302 determines whether authentication data stored in the binding update packet is valid or not, and if it determines that the data is valid, then it registers the care-of-address of the terminal device 301, which is stored in the binding update packet, into the binding cache. After the registration, the home agent 302 transmits an acknowledgement response packet to the terminal device 301.
Japanese Patent Application No. 2000-5560, filed by the applicant of the present invention, proposes an approach (LIN6) different from mobile IPv6. In the approach according to an embodiment disclosed therein, the address of a mapping agent of a mobile node and a node identifier are registered and contained in a domain server. The mapping agent receives information concerning movement of a mobile node and updates a current location indicator corresponding to the node identifier of the mobile node. The current location indicator is a location indicator that is updated in response to movement of the mobile node.
A terminal device attempting to communicate with the mobile node transmits a query based on the host name of the mobile node to the domain name server, and the domain name server transmits to the terminal device the address of the mapping agent of the mobile node and the node identifier. The terminal device queries the mapping agent about the node identifier to obtain the current location indicator of the node, and configures an IPv6 address based on the obtained current location indicator and the node identifier of the mobile node.
However, either approach, that is, the mobile IPv6 of the related art or Japanese Patent Application No. 2000-5560 described above, requires that a mobile node periodically transmits movement information of the node or transmits the information when moving between sub-networks to, at least, a home agent.
In addition, both of those approaches support movement of a terminal in an IP layer, based on the network prefix (the upper 64 bits of an IPv6 address); however, when the terminal moves frequently, they cannot achieve hand-off of a data packet in a short time to the location into which the terminal has moved.
It has also been proposed to achieve more fast-speed hand-off to the location to which the mobile node has moved by host-based support for the movement in an IP layer. Such a configuration, however, requires all routers associated with routes for each terminal to hold host-based information, that is, a routing table. Thus, as the number of the connected terminals increases, the amount of information increases and the scalability becomes poor, which impairs the function of the fast movement support.